package com.fly.service;

import com.fly.bean.Circuitry;
import com.fly.bean.Pole;
import com.fly.util.Page;
import com.fly.vo.AndPageVO;

import java.util.List;

/**
 * @Auther: Orchid
 * @Date: 2019/11/28 14:40
 * @Description:
 */
public interface CircuitryServiceO {

    /**
     * 根据线路id查线路所有信息
     * @param circuitryId 线路id
     * @return 线路实体
     */
    public Circuitry queryCirById(Integer circuitryId);

    /**
     * 根据id查询线路名称
     * @param circuitryId 线路id
     * @return 结果条数
     */
    public String queryCirNameById(Integer circuitryId);

    /**
     * 查询所有线路信息
     * @return 返回线路信息
     */
    public List<Circuitry> queryAllCir();

    /**
     * 分页显示线路信息
     * @param page 分页实体信息
     * @return 结果集合
     */
    public List<Circuitry> queryCirByPage(Page page);

    /**
     * 查询所有线路总数
     * @return 线路总数
     */
    public Integer queryCirAllCount();

    /**
     * 根据no和状态模糊查询分页显示
     * @param circuitry  查询信息
     * @param page 分页信息
     * @return
     */
    public List<Circuitry> queryCirPageByNo(Circuitry circuitry, Page page);

    /**
     * 根据no模糊查询结果总数
     * @param circuitry 查询信息线路实体
     * @return
     */
    public Integer queryCirCountPageByNo(Circuitry circuitry);

    /**
     * 修改线路状态
     * @param circuitry 线路信息实体
     * @return 成功条数
     */
    public Integer updateStateById(Circuitry circuitry);

    /**
     * 查询系统配置id
     * @param circuitryId 线路id
     * @return 系统配置id
     */
    public Integer querySysProIdById(Integer circuitryId);

    /**
     * 根据线路No查询是否存在
     * @param circuitryNo
     * @return
     */
    public Boolean queryCountByNo(String circuitryNo);

    /**
     * 修改线路信息
     * @param circuitry 线路实体
     * @return 结果条数
     */
    public Boolean updateCirById(Circuitry circuitry);

    /**
     * 根据线路id删除线路信息
     * @param circuitryId 线路id
     * @return 结果条数
     */
    public Boolean deleteCircuitryById(Integer circuitryId);

    /**
     * 添加新的线路信息
     * @param circuitry 线路实体信息
     * @return 成功结果集合
     */
    public Boolean addCircuitry(Circuitry circuitry);

    /**
     * 根据线路id查询杆塔启用数量
     * @return
     */
    public Integer queryCirByPoleActiveCount(Integer circuitryId);

    /**
     * 通过线路id判断线路是否启用
     * @param circuitryNo
     * @return
     */
    public Boolean queryCirIsUse(String circuitryNo);

    /**
     *查询id
     * @return
     */
    public Integer queryIdByCirNo(String circuitryNo);

    /**
     * 判断线路是否在任务中未完成
     * @param circuitryId
     * @return
     */
    public Boolean queryCirTaskIsFinish(Integer circuitryId);

    /**
     * 判断线路No是否还有其余的使用
     * @param circuitry
     * @return
     */
    public Boolean queryOtherNoCountByNo(Circuitry circuitry);


}
